Location-based movie identification systems and methods

ABSTRACT

The illustrative embodiments described herein provide systems and methods for movie identification based on a location. In the embodiment, a method includes locating a mobile communication device associated with a user to form location data, accessing a location database to determine a geographic location of the mobile communication device based on the location data, and identifying a set of movies related to the geographic location by accessing a movie database. Each of the set of movies in the movie database is associated with one or more respective geographic locations. The method also includes presenting a set of movie results corresponding to the set of movies on a graphical user interface of the mobile communication device. In another embodiment, the method may also validate an object photographed by a camera of the mobile communication device, and use the recognized object to identify the set of movies.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation from U.S. patent application Ser. No.15/051,136, filed Feb. 23, 2016, and entitled “LOCATION-BASED MOVIEIDENTIFICATION SYSTEMS AND METHODS”, which is a continuation from patentapplication Ser. No. 14/606,187, filed Oct. 14, 2015, and entitled“LOCATION-BASED MOVIE IDENTIFICATION SYSTEMS AND METHODS”, now issuedU.S. Pat. No. 9,271,036, which is a continuation from patent applicationSer. No. 14/095,646, filed Dec. 3, 2013, and entitled “LOCATION-BASEDMOVIE IDENTIFICATION SYSTEMS AND METHODS”, now issued U.S. Pat. No.8,955,011, which is a continuation from patent application Ser. No.12/856,906, filed Aug. 16, 2010, and entitled “LOCATION-BASED MOVIEIDENTIFICATION SYSTEMS AND METHODS”, now issued U.S. Pat. No. 8,627,358,each of which is incorporated by reference herein in their entirety.

BACKGROUND Field of the Invention

The present invention relates generally to systems and methods foridentifying movies. More particularly, the present invention relates toidentifying movies at least partially based on a location of a user.

Description of the Related Art

The ever-increasing catalog of movies can present challenges for viewersin selecting a movie according to his or her preferences. While moviescan often be found or identified according to static criteria, such astitle, genre, actor, or actress, current systems or applications may notallow viewers to select a movie based on some types of criteria. Forexample, current systems are limited in that they may not allow peopleto find movies that contain, or otherwise relate, to the currentlocation of a device, such as a cellular phone, used by that person.Current systems may also be unable to identify and deliver a listing ofmovies to a viewer based on a picture captured by the viewer's cellularphone camera. The failure of current systems to conveniently identifymovies based on a location may lead moviegoers with no way to findmovies for potential viewing based on located-related criteria.

SUMMARY

The illustrative embodiments described herein are directed to a dataprocessing system and, in particular, to systems and methods for movieidentification based on a location. In the embodiment, a method includeslocating a mobile communication device associated with a user to formlocation data, accessing a location database to determine a geographiclocation of the mobile communication device based on the location data,and identifying a set of movies related to the geographic location byaccessing a movie database. Each of the set of movies in the moviedatabase is associated with one or more respective geographic locations.The method also includes presenting a set of movie results correspondingto the set of movies on a graphical user interface of the mobilecommunication device.

In another embodiment, a method includes receiving an image captured bya camera of a mobile communication device. The mobile communicationdevice is associated with a user, and the image at least partiallycontains an object. The method includes identifying the object containedin the image and accessing a movie database to identify a set of moviesassociated with the object. The movie database includes a plurality ofmovies associated with a respective set of objects. The method includespresenting a set of movie results corresponding to the set of movies ona graphical user interface of the mobile communication device.

In another embodiment, a location-based movie identification systemincludes a movie identification application at least partiallyimplemented by a mobile communication device. The movie identificationapplication includes a location identification module to determine ageographic location of the mobile communication device, and a movieidentification engine to identify a set of movies associated with thegeographic location. The movie identification engine includes a movieresults module to initiate a movie results interface on a graphical userinterface of the mobile communication device. The movie resultsinterface lists a set of movie results corresponding to the set ofmovies.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic, pictorial representation of a location-basedmovie identification system according to an illustrative embodiment;

FIG. 2 is a schematic, block diagram of a location-based movieidentification system according to an illustrative embodiment;

FIG. 3 is a schematic, pictorial representation of a movie resultsinterface displayable to a user according to an illustrative embodiment;

FIG. 4 is a flowchart of a location-based movie identification processaccording to an illustrative embodiment;

FIG. 5 is a flowchart of a process for managing promotions andtransactions in a location-based movie identification system accordingto an illustrative embodiment;

FIG. 6 is a flowchart of a location-based movie identification processaccording to another illustrative embodiment;

FIG. 7 is a flowchart of an illustrative embodiment of a sub-process forthe step of identifying an object that is shown in FIG. 6;

FIG. 8 is a flowchart of a location-based movie identification processaccording to another illustrative embodiment; and

FIG. 9 is a schematic, block diagram of a data processing system inwhich the illustrative embodiments may be implemented.

DETAILED DESCRIPTION

Referring to FIG. 1, an illustrative embodiment of a location-basedmovie identification system 100 includes a mobile communication device102 on which a movie identification application 104 is implemented. Themobile communication device 102 is in communication with a movieidentification hub 106, which includes a server 108. The movieidentification hub 106 may also include a storage device 110 on whichdata supporting the functionality of the movie identificationapplication 104 may be stored. The storage device 110, though shown atthe movie identification hub 106, may also be located in the mobilecommunication device 102. A user 112 of the mobile communication device102 may interface with the movie identification application 104 toretrieve or view a set of movies that relate to the current location ofthe user 112. Unless otherwise indicated, as used herein, “or” does notrequire mutual exclusivity. As used herein, the term “set” encompasses aquantity of one or more.

In one embodiment, the location-based movie identification system 100locates the mobile communication device 102, and identifies locationdata that indicates the mobile communication device's location. Forexample, the movie identification application 104 may have, orcommunicate with, a global positioning system or other similar locationtechnology (e.g., WiFi, cell identification (Cell ID), observed timedifference of arrival (OTDOA), enhanced observed time difference(E-OTD), network multipath analysis and assisted global positioningsystem (A-GPS), etc.) to determine the global positioning systemcoordinates that reflect the location of the mobile communication device102. Using the location data, the movie identification application 104may access the storage device 110 to determine the geographic locationof the mobile communication device 102. The storage device 110 mayinclude a location database 113 that includes many different locationsaround the world that are indexed with any type of location data, suchas global positioning system coordinates. By way of specificillustration, the movie identification application 104, afterdetermining the global positioning system coordinates of the mobilecommunication device 102, may use these coordinates when accessing thelocation database 113 to search for and identify the geographic locationof the mobile communication device 102 as being at or near LibertyIsland, New York, N.Y. 10004. In this specific example, the globalpositioning system coordinates indicate that the mobile communicationdevice 102 is located on Liberty Island.

Once the geographic location of the mobile communication device 102 isdetermined, the movie identification application 104 may access a moviedatabase 114 in the storage device 110. The movie database 114 mayinclude any number of movies, as well as data about those movies. In oneembodiment, each movie in the movie database 114 is associated with oneor more geographic locations that relate to the respective movie. Forexample, movies that contain, have dialogue about, or otherwise relateto Liberty Island or New York City may be associated with thesegeographic locations, such as in the form of geotags or other metadata.Using the geographic locations that are associated with the movies inthe movie database 114, the movie identification application 104 maysearch for and identify the movies in the movie database 114 that areassociated with the geographic location of the mobile communicationdevice 102. The movies that are identified may then be presented assearch results, or in any other form, to the user 112 of the mobilecommunication device 102 by displaying the movie search results on thegraphical user interface 116 of the mobile communication device 102.

Another embodiment of the location-based movie identification system 100utilizes a camera on the mobile communication device 102 in order toidentify the movies relating to an object 118 in an image 120 capturedby the camera. In this embodiment, the movie identification application104 may receive the image 120 that is captured by the camera. The movieidentification application 104 may then identify the object 118 that isat least partially contained in the image 120. Recognition of the object118 that is contained in the image 120 may be performed using any of avariety of techniques, such as image analysis or other methods describedin further detail below. The movie identification application 104 maythen access the movie database 114 to identify movies that areassociated with the object 118 contained in the image 120. The movies inthe movie database 114 may each be tagged, or otherwise associated with,one or more objects that relate to the movie. For example, objects thatappear in, relate to the plot of, are talked about in, or otherwiserelate to a movie in the movie database 114 may be associated with thatmovie. In identifying the movies that are associated with the object118, the movie identification application 104 may search for andidentify the object 118 in the movie database 114, and then identify themovies that are associated with that object 118. The movies that areidentified by the movie identification application 104 may then bepresented on the graphical user interface 116 of the mobilecommunication device 102 so that they can be viewed by the user 112. Asexplained in further detail below, the user 112 may be presented with anoption to purchase or view any of the movies that are listed on thegraphical user interface 116 by the movie identification application104.

While FIG. 1 shows the movie identification application 104 to belocated or implemented in the mobile communication device 102, the movieidentification application 104 may also be implemented elsewhere, suchas on the server 108. In another embodiment, the movie identificationhub 106, including the storage device 102 containing the locationdatabase 113 and the movie database 114, may be located or implementedin the mobile communication device 102 along with the movieidentification application 104. Indeed, the movie identificationapplication 104 and movie identification hub 106, including anycombination of functionality thereof, may be distributed across thelocation-based movie identification system 100 in a variety of ways.

The mobile communication device 102 may be any device capable ofcommunicating with other devices and interfacing with the user 112. Forexample, the mobile communication device 102 may be a cellular phone(e.g., a smart phone), a walkie talkie, a computer (e.g., a laptop,netbook, tablet computer, or minicomputer), a personal digitalassistant, a digital music player, a digital reader, a portable gamingdevice, a web browsing device, a media player, or any other electronicdevice that is mobile and capable of communicating data with otherdevices.

The techniques, technologies, or media by which the components of thelocation-based movie identification system 100 intercommunicate arenumerous. For example, the location-based movie identification system100, or any portion thereof, may be part of a personal area network(PAN), a local area network (LAN), a campus area network (CAN), ametropolitan area network (MAP), or any other network type. Also, datacommunication between any two of the elements in the location-basedmovie identification system 100 may be direct or indirect. Datacommunication medium 124 between the base station 126 and the movieidentification hub 106 may be any medium through which data can becommunicated. For example, the data communication medium 124 may bewired or wireless data connections, and may utilize a virtual privatenetwork (VPN), multi-protocol label switching (MPLS), the Internet, orany other data communication media. Wireless communication between themobile communication device 102 and the base station 126 may utilize anywireless standard for communicating data, such as CDMA (e.g., cdmaOne orCDMA2000), GSM, 3G, 4G, Edge, an over-the-air network, Bluetooth, etc.Any of the transactions occurring in the location-based movieidentification system 100 may be performed using secure SSLtransactions.

In one example, the location-based movie identification system 100 mayutilize the Internet, with the data communication medium 124representing a worldwide collection of networks and gateways that usethe Transmission Control Protocol/Internet Protocol (TCP/IP) suite ofprotocols to communicate with one another. At the heart of the Internetis a backbone of high-speed data communication lines between major nodesor host computers, consisting of thousands of commercial, governmental,educational, and other computer systems that route data and messages.FIG. 1 is intended as an example, and not as an architectural limitationfor the different illustrative embodiments.

Referring to FIGS. 2 and 3, an illustrative embodiment of thelocation-based movie identification system 200 includes the movieidentification application 204 implemented on the mobile communicationdevice 202, the movie identification hub 206 in communication with themobile communication device 202, and non-limiting examples of theelements that may be included in the mobile communication device 202 andmovie identification hub 206 to implement the location-based movieidentification system 200. Elements of FIG. 2 that are analogous toelements in FIG. 1 have been shown by indexing the reference numerals by100. All or a portion of the elements of the movie identificationapplication 204 or the movie identification hub 206 may be implementedon the mobile communication device 202, a server, such as the server 108in FIG. 1, a combination of these devices, or any other device that isin communication with the user 212. Thus, for example, the movieidentification application 202 may be fully or partially implemented bythe mobile communication device 202.

The user 212 may use the movie identification application 204 toretrieve information about movies pertaining to his or her location. Theuser 212 may activate this retrieval process by, for example, pressing abutton instructing the movie identification application 204 to findmovies relating to the current location of his or her mobilecommunication device 202. In one embodiment, the movie identificationapplication 204 includes a location identification module 228 thatdetermines a geographic location of the mobile communication device 202.In one example, the location identification module 228 determineslocation data, such as global positioning system coordinates, thatindicate the location of the mobile communication device 202. Otherlocation-based technologies or services may also be used to determinethe location data for the mobile communication device 202, such as WiFi,Cell ID, OTDOA, E-OTD, A-GPS, etc. The location identification module228 may then access the location database 213 to identify the geographiclocation of the mobile communication device 202 based on the locationdata. The location database 213 contains multiple locations, such as zipcodes, cities, states, neighborhoods, streets, bodies of water, whichare associated with respective location data that is matchable with thelocation data of the mobile communication device 202. For example, thelocation data for mobile communication device 202, as determined by thelocation identification module 228, may be the global positioning systemcoordinates of 40.689167, −74.044444. These global positioning systemcoordinates may be stored in the location database 213 and associatedwith the geographic location of Liberty Island in New York, N.Y. 10004.Thus, when the location identification module 228 uses these globalpositioning system coordinates to find the geographic location of themobile communication device 202, the location identification module 228identifies these global positioning system coordinates in the locationdatabase 213 and then identifies the location associated with thesecoordinate (i.e., Liberty Island), thus determining the geographiclocation of the mobile communication device 202.

In an alternate embodiment, the location identification module 228 mayidentify the geographic location of the user 212 based on a user'smanual entry of his or her location. For example, the user 212 maymanually input his or her current or other location on the mobilecommunication device 202.

After the location identification module 228 determines the geographiclocation of the mobile communication device 202, a movie identificationengine 230 may then identify a set of movies containing, or otherwiserelated, to this geographic location by accessing the movie database214. The movie database 214 may contain multiple entries correspondingto any number of respective movies 232, each of which may be associatedwith one or more geographic locations relating to the respective movie.For example, each movie 232 in the movie database 214 may have one ormore geotags 234 that identify locations that are contained, orotherwise related to, in the movie. The geotags 234 may be any data thatindicates a location, such as an address, any political, geographic, ornaturally-occurring unit, boundary, or location, global positioningsystem coordinates, or any combination thereof. By way of example, ifthe location identification module 228 determines that the mobilecommunication device 202 is located at Liberty Island, New York, N.Y.10004, the movie identification engine 230 may search for and identifyany geotags 234 that match this geographic location. The movieidentification engine 230 may then identify the movies that have thegeotags matching the geographic location of the mobile communicationdevice 202 (e.g., Liberty Island).

Once the movies associated with the geographic location of the mobilecommunication device 202 are identified by the movie identificationengine 230, a movie results module 235 displays a set of movie resultscorresponding to the identified movies on the graphical user interface216 of the mobile communication device 202. As shown in FIG. 3, themovie results may be displayed on the graphical user interface 216 usinga movie results interface 236. The movie results interface 236 lists themovies that relate to the geographic location of the mobilecommunication device 202, as determined by the location identificationmodule 228. The movie results interface 236 also lists the geographiclocation of the mobile communication device 202 for the user'sreference. In the example of FIG. 3, the geographic location of themobile communication device 202 is Liberty Island, New York, N.Y. 10004.Additional details regarding the movie results interface 236 areprovided below.

In other illustrative embodiments, the location-based movieidentification system 200 may use the object 218 located at or near theuser 212 to identify movies for presentation to the user 212. The object218 may be identified by an object identification module 238 in themovie identification application 204. There are numerous ways in whichthe object identification module 238 may determine the object 218. Inone embodiment, the object identification module 238 may identify theobject 218 at or near the user 212 based on the geographic location ofthe mobile communication device 202, as determined by the locationidentification module 228. In this embodiment, each of the locations inthe location database 213 may be associated with one or more objects240. For example, each of the objects 240 may be linked to, or otherwiseassociated with, respective locations in the location database 213 atwhich those objects 240 are located. For example, the object Statue ofLiberty may be associated with the location Liberty Island, New York,N.Y. 10004. In identifying the object 218, the object identificationmodule 238 may compare the geographic location of the mobilecommunication device 202 to locations contained in the location database213. When the geographic location is found in the location database 213,the one or more objects 240 associated with those locations may beidentified as the object 218. In one embodiment, the identification ofthe object 218 by the object identification module 238, as describedabove, may be triggered by, or otherwise in response to, the capturingof an image of the object 218 by the camera 240. The objectidentification module 238 may or may not need to use the image in orderto determine any objects contained in the image, depending on theparticular embodiment. For example, the object identification module 238may identify the object 218 in the location database 213 using thegeographic location of the mobile communication device 202 and withoutreference to the image taken by the camera 240.

In another embodiment, the object identification module 238 may identifythe object 218 contained in the image captured by the camera 240 usingimage analysis. In this embodiment, the object identification module238, in conjunction with an image processor 242, uses image analysistechniques such as object-based image analysis (OPIA), or othertechniques or applications capable of recognizing objects within animage. The object identification module 238 may then attempt to find amatch between the object recognized using image analysis and the objects240 in the location database 213 to confirm the accuracy of the imageanalysis.

In another illustrative embodiment, after the object 218 is identifiedby the object identification module 238 by analyzing the image capturedby the camera 240, the geographic location of the mobile communicationdevice 202 may be determined based on the object 218. For example, ifthe user 212 captures an image of the Statue of Liberty, the locationidentification module 228 may determine the location of the mobilecommunication device 202 by searching for and identifying the geographiclocation of the Statue of Liberty. In this specific non-limitingexample, the location identification module 228 identifies thegeographic location of the mobile communication device 202 as beingLiberty Island, New York, N.Y. 10004. One example of how the geographiclocation may be determined based on the object 218 is by the locationidentification module 228 accessing the location database 213 to searchfor the object 218 identified by the object identification module 238.The location identification module 228 may, for example, search for andidentify the Statue of Liberty as one of the objects 240 in the locationdatabase 213, and then identify the location linked to, or associatedwith, the Statue of Liberty.

In another embodiment, the location identification module 228 mayidentify the location of the mobile communication device 202, and thenthe object identification module 238 may validate the object 218captured in the image using object recognition technology to confirm amatch. In particular, after the location identification module 228identifies the location of the mobile communication device 202 (e.g.,Liberty Island, N.Y.), the object identification module 238 mayidentify, or otherwise recognize, the object 218 (e.g., Statue ofLiberty) and validate the location of the object 218 relative to theidentified location of the mobile communication device 202. For example,if the location identification module 228 identifies Dallas, Tex. as thelocation of the mobile communication device 202, but the objectidentification module 238 identifies the Statue of Liberty as the object218 contained in the image captured by the camera 240, then the movieidentification application 204 may determine that an error has occurredwith regard to identifying the object 218 or the location of the mobilecommunication device 202 since the Statute of Liberty is not located inDallas, Tex. In another embodiment, the movie identification application204 may compare the object 218 identified by the object identificationmodule 238 with the location identified by the location identificationmodule 228 to determine a level, or degree, of confidence that thecorrect object 218 or location has been identified. Also, user proximityto the object 218 may be used to determine a level of confidence that,in turn, determines whether it is necessary to perform an objectidentification lookup (e.g., look up the object 218 in the locationdatabase 213) or object recognition. For example, the closer theidentified location is to the object 218, the higher the confidence thatthe user 212 is looking at, or otherwise near, the object 218. Thus,once the movie identification application 204 determines a proximitybetween the mobile communication device 202 and a known object, such asone of the objects 240 in the location database 213, the movieidentification application 204 may use this proximity to determine aconfidence level that indicates, or is otherwise associated with, thelikelihood that the mobile communication device 202 is near the objectin the location database 213.

In another embodiment, the object identification module 238 may identifythe object 218 based on a user's manual entry of the object 218. Forexample, the user 212 may manually input the name of the object 218(e.g., Taj Mahal) on the mobile communication device 202.

After either or both of the geographic location of the mobilecommunication device 202 or the object 218 is identified by the locationidentification module 228 or the object identification module 238,respectively, the movie identification engine 230 may identify a set ofmovies for presentation to the user 212 based on either or both of thegeographic location or the object 218. As described above, one or moremovies may be identified in the movie database 214 using geographiclocation data, such as geotags 234, that is associated with the movies232. Each of the movies 232 in the movie database 214 may also betagged, or otherwise associated with, one or more objects that arecontained in, or otherwise related to, the respective movie. Once theobject 218 is determined by the object identification module 238, themovie identification engine 230 may search for the object tags in themovie database 214 to find the movies associated with those objects.

The identification of movies by the movie identification engine 230 mayalso be based on user preferences 244 of the user 212, which are storedin a user profile 245 of the user 212. For example, the user preferences244 may include a preference for a particular genre of movie, such ascomedy or horror, or a particular date range for movies that the user212 is interested in. When identifying movies, the movie identificationengine 230 may take into account these user preferences 244 in additionto the object 218 and/or the geographic location of the mobilecommunication device 202. By way of non-limiting example, if the object218 is identified as the Golden Gate Bridge and the user preferences 244indicate that the user 212 prefers comedies, the movie identificationengine 230 will identify movies in the movie database 214 that relate tothe Golden Gate Bridge and are comedies.

After the movies associated with the geographic location of the mobilecommunication device 202 or the object 218 are identified by the movieidentification engine 230, a listing of the movie results correspondingto the identified movies may be presented to the user 212 on thegraphical user interface 216. These movie results may be listed in themovie results interface 236 shown in FIG. 3, which may also show theobject 218 identified by the object identification module 238 or thegeographic location identified by the location identification module228. In the non-limiting example shown in FIG. 3, four movies related tothe Statue of Liberty are listed in the movie results interface 236.These movies may be sorted, such as by name, date, rating, or relevanceto the object 218, by selecting a sort option 246

In one embodiment, the movie identification engine 230 includes apromotional content module 248 that delivers one or more promotions 250to the user 212 in conjunction with the movie results delivered by themovie results module 235. The promotion 250 may be an advertisement,coupon, notice, etc. In one embodiment, the promotion 250 selected fordisplay in the movie results interface 236 may be based on thegeographic location of the mobile communication device 202 as determinedby the location identification module 228, or the object 218 at or nearthe user 212 as determined by the object identification module 238.Thus, the promotional content module 248 may select promotions that aremost relevant to the user 212 based on his or her location. In anotherembodiment, the promotional content module 248 may identify thepromotion 250 based on the movies identified by the movie identificationengine 230, such as promotions for memorabilia for a particular movie orfor products or services associated with a particular genre of movie.

The movie identification application 204 may also include a transactionengine 252 that conducts a movie purchase transaction for the user 212when the user 212 selects to purchase one of the movies identified bythe movie identification engine 230. As shown in the movie resultsinterface 236 in FIG. 3, the user 212 may select to purchase anidentified movie by selecting a purchase option 254 next to a respectivemovie. After a movie purchase is made, the user 212 may be provided anoption to view the movie on the graphical user interface 216. A customeraccount database 256 at the movie identification hub 206, which mayinclude financial, purchase, or other account-related information forthe user 212, may be updated when the user 212 purchases a movie usingthe transaction engine 252. In another embodiment, the data in thecustomer account database 256 may be included in the user profile 245.

In another embodiment, the user 212 may be provided with additionaloptions with respect to each movie identified by the movieidentification engine 230. For example, the movie results interface 236may provide the user 212 an option to view a movie synopsis of each ofthe listed movies, or view detailed rating information (e.g., community,public, etc. ratings).

Referring to FIG. 4, an illustrative embodiment of a location-basedmovie identification process, which may be implemented by thelocation-based movie identification system 100 or 200 in FIG. 1 or 2,includes locating a mobile communication device associated with a userto form location data (step 301). The process accesses the locationdatabase to determine the geographic location of the mobilecommunication device based on the location data (step 303). The processdetermines whether the geographic location is found (step 305).

If the process determines that the geographic location is not found, theprocess returns to step 301. Returning to step 305, if the processdetermines that the geographic location is found, the process identifiesa set of movies related to the geographic location by accessing themovie database (step 307). The process presents a set of movie resultscorresponding to the set of movies on a graphical user interface of themobile communication device (step 309).

Referring to FIG. 5, an illustrative embodiment of a process formanaging promotions and transactions in a location-based movieidentification system, such as the location-based movie identificationsystem 100 or 200 in FIG. 1 or 2, includes presenting a set of movieresults corresponding to the set of movies on a graphical user interfaceof the mobile communication device (step 401). The process presents aset of promotions on the graphical user interface of the mobilecommunication device (step 403). The process determines whether a userselection to purchase one of the set of movies presented on the mobilecommunication device is received (step 405). If the process determinesthat a user selection to purchase one of the set of movies presented onthe mobile communication device is not received, the process terminates.

If the process determines that a user selection to purchase one of theset of movies presented on the mobile communication device is received,the process initiates a purchase transaction for the movie selected bythe user (step 407). The process determines whether to display the movieon the graphical user interface, such as by user selection (step 409).If the process determines not to display the movie on the graphical userinterface, the process terminates. If the process determines to displaythe movie on the graphical user interface, the process displays themovie on the graphical user interface (step 411).

Referring to FIG. 6, an illustrative embodiment of a location-basedmovie identification process, which may be implemented by thelocation-based movie identification system 100 or 200 in FIG. 1 or 2,includes receiving an image of an object captured by a camera of amobile communication device (step 501). The process identifies theobject contained in the image (step 503). The process determines whetherthe object is identified (step 505). If the process determines that theobject is not identified, the process informs the user that no resultsare found (step 507).

If the process determines that the object is identified, the processaccesses a movie database to identify a set of movies associated withthe object (step 509). The process presents a set of movie resultscorresponding to the set of movies on a graphical user interface of themobile communication device (step 511).

Referring to FIG. 7, an illustrative embodiment of the step 503identifying the object contained in the image shown in FIG. 6 includesdetermining a geographic location of the mobile communication device(step 601). The process searches a location database for the geographiclocation (step 603). The process determines whether a geographiclocation is found (step 605). If the process determines that thegeographic location is not found, the process returns to step 601.

If the process determines that the geographic location is found, theprocess identifies a geographic location in the location database (step607). The process identifies the object located at the geographiclocation identified in the location database (step 609).

Referring to FIG. 8, an illustrative embodiment of a location-basedmovie identification process, which may be implemented by thelocation-based movie identification system 100 or 200 in FIG. 1 or 2,includes locating a mobile communication device associated with a userto form location data (step 701). The process accesses a locationdatabase to determine the geographic location of the mobilecommunication device based on the location data (step 703). The processdetermines whether the geographic location is found (step 705). If theprocess determines that the geographic location is not found, theprocess returns to step 701.

If the process determines that the geographic location is found, theprocess receives an image of an object captured by a camera of themobile communication device (step 707). The process identifies theobject contained in the image using the geographic location of themobile communication device (step 709). The process receives a set ofuser preferences of the user of the mobile communication device (step711).

The process accesses a movie database to identify a set of moviesrelated to the geographic location or the object based on the userpreferences (step 713). The process presents a set of movie resultscorresponding to the set of movies on the graphical user interface ofthe mobile communication device (step 715).

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatus, methods and computer programproducts. In this regard, each block in the flowchart or block diagramsmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified functionor functions. In some alternative implementations, the function orfunctions noted in the block may occur out of the order noted in theFigures. For example, in some cases, two blocks shown in succession maybe executed substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved.

Referring to FIG. 9, a block diagram of a computing device 802 is shownin which illustrative embodiments may be implemented. The computingdevice 802 may be the mobile communication device 102 or 202 describedin FIG. 1 or 2, respectively. The computing device 802 may be thecomputing device on which the movie identification application 104 or204 in FIG. 1 or 2 is implemented. Computer-usable program code orinstructions implementing the processes used in the illustrativeembodiments may be located on the computing device 802. The computingdevice 802 includes a communications fabric 803, which providescommunications between a processor unit 805, a memory 807, a persistentstorage 809, a communications unit 811, an input/output (I/O) unit 813,and a display 815.

The processor unit 805 serves to execute instructions for software thatmay be loaded into the memory 807. The processor unit 805 may be a setof one or more processors or may be a multi-processor core, depending onthe particular implementation. Further, the processor unit 805 may beimplemented using one or more heterogeneous processor systems in which amain processor is present with secondary processors on a single chip. Asanother illustrative example, the processor unit 805 may be a symmetricmulti-processor system containing multiple processors of the same type.

The memory 807, in these examples, may be, for example, a random accessmemory or any other suitable volatile or non-volatile storage device.The persistent storage 809 may take various forms depending on theparticular implementation. For example, the persistent storage 809 maycontain one or more components or devices. For example, the persistentstorage 809 may be a hard drive, a flash memory, a rewritable opticaldisk, a rewritable magnetic tape, or some combination of the above. Themedia used by the persistent storage 809 also may be removable. Forexample, a removable hard drive may be used for the persistent storage809.

The communications unit 811, in these examples, provides forcommunications with other data processing systems or communicationdevices. In these examples, the communications unit 811 may be a networkinterface card. The communications unit 811 may provide communicationsthrough the use of either or both physical and wireless communicationlinks.

The input/output unit 813 allows for the input and output of data withother devices that may be connected to the computing device 802. Forexample, the input/output unit 813 may provide a connection for userinput through a keyboard and mouse. Further, the input/output unit 813may send output to a processing device. In the case in which thecomputing device 802 is a cellular phone, the input/output unit 813 mayalso allow devices to be connected to the cellular phone, such asmicrophones, headsets, and controllers. The display 815 provides amechanism to display information to a user, such as a graphical userinterface. The display 815 may be used to display the text messagesdescribed in the illustrative embodiments.

Instructions for the operating system and applications or programs arelocated on the persistent storage 809. These instructions may be loadedinto the memory 807 for execution by the processor unit 805. Theprocesses of the different embodiments may be performed by the processorunit 805 using computer-implemented instructions, which may be locatedin a memory, such as the memory 807. These instructions are referred toas program code, computer-usable program code, or computer-readableprogram code that may be read and executed by a processor in theprocessor unit 805. The program code in the different embodiments may beembodied on different physical or tangible computer-readable media, suchas the memory 807 or the persistent storage 809.

Program code 817 is located in a functional form on a computer-readablemedia 819 and may be loaded onto or transferred to the computing device802 for execution by the processor unit 805. The program code 817 andthe computer-readable media 819 form computer program product 821 inthese examples. In one embodiment, the computer program product 821 isthe movie identification application 104 or 204 described in FIG. 1 or2, respectively. In this embodiment, the program code 817 may includecomputer-usable program code capable of locating a mobile communicationdevice associated with a user to form location data, accessing alocation database to determine a geographic location of the mobilecommunication device based on the location data, and identifying a setof movies related to the geographic location by accessing a moviedatabase. Each of the set of movies in the movie database is associatedwith one or more respective geographic locations. The program code 817may also include computer-usable program code capable of presenting aset of movie results corresponding to the set of movies on a graphicaluser interface of the mobile communication device.

In another embodiment, the program code 817 may include computer-usableprogram code capable of receiving an image captured by a camera of amobile communication device. The mobile communication device isassociated with a user, and the image at least partially contains anobject. The program code 817 may also include computer-usable programcode capable of identifying the object contained in the image andaccessing a movie database to identify a set of movies associated withthe object. The movie database includes a plurality of movies associatedwith a respective set of objects. The program code 817 may also includecomputer-usable program code capable of presenting a set of movieresults corresponding to the set of movies on a graphical user interfaceof the mobile communication device. Any combination of theabove-mentioned computer-usable program code may be implemented in theprogram code 817, and any functions of the illustrative embodiments maybe implemented in the program code 817.

In one example, the computer-readable media 819 may be in a tangibleform, such as, for example, an optical or magnetic disc that is insertedor placed into a drive or other device that is part of the persistentstorage 809 for transfer onto a storage device, such as a hard drivethat is part of the persistent storage 809. In a tangible form, thecomputer-readable media 819 also may take the form of a persistentstorage, such as a hard drive or a flash memory that is connected to thecomputing device 802. The tangible form of the computer-readable media819 is also referred to as computer recordable storage media.

Alternatively, the program code 817 may be transferred to the computingdevice 802 from the computer-readable media 819 through a communicationlink to the communications unit 811 or through a connection to theinput/output unit 813. The communication link or the connection may bephysical or wireless in the illustrative examples. The computer-readablemedia 819 also may take the form of non-tangible media, such ascommunication links or wireless transmissions containing the programcode 817.

The different components illustrated for the computing device 802 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to or in place of those illustrated for computingdevice 802. Other components shown in FIG. 9 can be varied from theillustrative examples shown.

As one example, a storage device in the computing device 802 is anyhardware apparatus that may store data. The memory 807, the persistentstorage 809, and the computer-readable media 819 are examples of storagedevices in a tangible form.

In another example, a bus system may be used to implement thecommunications fabric 803 and may be comprised of one or more buses,such as a system bus or an input/output bus. Of course, the bus systemmay be implemented using any suitable type of architecture that providesfor a transfer of data between different components or devices attachedto the bus system. Additionally, the communications unit 811 may includeone or more devices used to transmit and receive data, such as a modemor a network adapter. Further, a memory may be, for example, the memory807 or a cache such as found in an interface and memory controller hubthat may be present in the communications fabric 803.

The principles of the present invention can take the form of an entirelyhardware embodiment, an entirely software embodiment, or an embodimentcontaining both hardware and software elements. In one embodiment, theinvention is implemented in software, which includes but is not limitedto, firmware, resident software, microcode, and other computer readablecode.

Furthermore, the principles of the present invention can take the formof a computer program product accessible from a computer-usable orcomputer-readable medium providing program code for use by or inconnection with a computer or any instruction execution system. For thepurposes of this description, a computer-usable or computer readablemedium can be any tangible apparatus that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.

The previous detailed description is of a small number of embodimentsfor implementing the invention and is not intended to be limiting inscope. One of skill in this art will immediately envisage the methodsand variations used to implement this invention in other areas thanthose described in detail. The following claims set forth a number ofthe embodiments of the invention disclosed with greater particularity.

What is claimed:
 1. A method, comprising: accessing a first database todetermine a geographic location of a mobile communication device basedon location data, by the mobile communication device; determining, bythe mobile communication device, an object partially contained in animage captured by a camera using the geographic location of the mobilecommunication device; and identifying, by the mobile communicationdevice, a set of movies that include the object partially contained inthe image captured by the camera and related to the geographic locationby accessing a second database, each of the set of movies in the seconddatabase associated with one or more respective geographic locations. 2.The method of claim 1, further comprising receiving the captured imagefrom a camera of the mobile communication device, the image partiallycontaining the object.
 3. The method of claim 2, further comprising atleast one of: identifying a direction at which the camera of the mobilecommunication device is pointed when the image is captured; andidentifying the object partially contained in the image using thegeographic location of the mobile communication device and the directionof the camera.
 4. The method of claim 1, wherein the first databasecomprises a plurality of locations and a plurality of objects, each ofthe plurality of objects corresponding to at least one of the pluralityof locations.
 5. The method of claim 1, wherein accessing the firstdatabase to determine the geographic location of the mobilecommunication device comprises accessing the first database to identifyan object at or near the mobile communication device based on thegeographic location of the mobile communication device.
 6. The method ofclaim 1, further comprising identifying the set of movies related to thegeographic location comprises identifying the set of movies related tothe object at or near the mobile communication device.
 7. The method ofclaim 1, wherein the location data comprises global positioning systemcoordinates associated with a position of the mobile communicationdevice.
 8. The method of claim 1, further comprising: receiving a set ofuser preferences from a user, the set of user preferences comprisingmovie preferences of the user, wherein identifying the set of moviescomprises identifying the set of movies using the set of userpreferences.
 9. The method of claim 1, further comprising: receiving auser selection to purchase at least one of the set of movies presentedon the mobile communication device; and initiating a purchasetransaction for the at least one movie selected by a user.
 10. Themethod of claim 1, further comprising presenting a set of movie resultscorresponding to the set of movies on a graphical user interface of themobile communication device.
 11. The method of claim 10, whereinpresenting the set of movie results corresponding to the set of movieson the graphical user interface comprises presenting a set of promotionson the graphical user interface of the mobile communication device, theset of promotions associated with at least one of the set of movies orthe geographic location of the mobile communication device.
 12. Themethod of claim 1, further comprising forming location data of a mobilecommunication device, by the mobile communication device.
 13. Anon-transitory computer readable medium comprising instructions thatwhen read by a processor cause the processor to perform: accessing afirst database to determine a geographic location of a mobilecommunication device based on location data; determining an objectpartially contained in an image captured by a camera using thegeographic location of the mobile communication device; and identifyinga set of movies that include the object partially contained in the imagecaptured by the camera and related to the geographic location byaccessing a second database, each of the set of movies in the seconddatabase associated with one or more respective geographic locations.